<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<h1>ajax-Post请求</h1>
		<script type="text/javascript" src="../js/axios.js"></script>
		<!-- promise是Axios封装服务器返回值的对象 -->
		<script type="text/javascript">
			//1.Axios的优化
			axios.defaults.baseURL = "http://localhost:8080"
			
			/**
			 * 1.定义一个函数
			 * 规则:
			 * 		1.async 标识函数
			 * 		2.await 标识请求
			 * 		3.两者必须同时出现
			 * 		4.可以直接获取then中的回调对象promise
			 * 		
			 */
			async function saveUser() {
				let user = {id : 100, name : "冰敦敦", age : 20}
				//let promise = await axios.post("/axios/saveUser", user)
				let {data : result, status : code} = await axios.post("/axios/saveUser", user)
				//console.log(promise.data)
				console.log(result)
				console.log(code)
			}
			
			/**
			 * 2.函数调用
			 */
			saveUser()
			
			/**
			 * 3.箭头函数(常用)
			 * 		(1)去除function关键字
			 * 		(2)参数与函数体之间使用 => 连接
			 * 		(3)如果只有一个参数,参数的括号可以省略
			 * 		(4)箭头函数一般使用在回调函数
			 * 		(5)如果使用function关键字,则使用this时会产生歧义
			 */
			let user2 = {id : 100, name : "箭头函数", age : 20}
			axios.post("/axios/saveUser", user2)
				 .then(function(promise){
					 console.log(promise.data)
				 })
			axios.post("/axios/saveUser", user2)
				 .then(promise => {
					 console.log(promise.data)
				 })
			
			/**
			 * 需求:
			 * 		1.发送第一个ajax请求之后得到的结果当做第二个ajax的参数
			 */
			// let user = {id : 100, name : "tomcat猫", age : 20}
			// axios.post("/axios/saveUser", user)
			// 	 .then(promise => {
			// 		 console.log(promise.data)
			//	 })
					 
					 //第二个ajax,回调地狱问题
					 // let arg1 = promise.data
					 // axios.post("/axios/xxx", arg1)
					 // 	 .then(promise => {
					 // 		 console.log(promise.data)
					 // 	 })
		</script>
	</body>
</html>
